﻿''' <summary>
''' 污染源数据
''' </summary>
''' <remarks></remarks>
<Serializable()> Public Class BuStack
    Implements ICloneable

    Private m_BrandName As String = "Stk3" '污染源名称
    Private m_BrandBase As Double = 0 '污染源基底海拔高度
    Private m_BrandHight As Double = 50 '污染源的高度
    Private m_BrandX As Double = 0 '污染源坐标X轴
    Private m_BrandY As Double = 0 '污染源坐标Y轴
    Private m_Result As String = "" '保存计算后的结果

    ''' <summary>
    ''' 污染源名称
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property BrandName() As String
        Get
            Return m_BrandName
        End Get
        Set(ByVal value As String)
            m_BrandName = value
        End Set
    End Property
    ''' <summary>
    ''' 污染源基底海拔高度
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property BrandBase() As Double
        Get
            Return m_BrandBase
        End Get
        Set(ByVal value As Double)
            m_BrandBase = value
        End Set
    End Property
    ''' <summary>
    ''' 污染源的海拔高度
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property BrandHight() As Double
        Get
            Return m_BrandHight
        End Get
        Set(ByVal value As Double)
            m_BrandHight = value
        End Set
    End Property
    ''' <summary>
    ''' 污染源坐标X轴
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property BrandX() As Double
        Get
            Return m_BrandX
        End Get
        Set(ByVal value As Double)
            m_BrandX = value
        End Set
    End Property
    ''' <summary>
    ''' 污染源坐标Y轴
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property BrandY() As Double
        Get
            Return m_BrandY
        End Get
        Set(ByVal value As Double)
            m_BrandY = value
        End Set
    End Property
    ''' <summary>
    ''' 保存计算后的结果
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property Result() As String
        Get
            Return Me.m_Result
        End Get
        Set(ByVal value As String)
            Me.m_Result = value
        End Set
    End Property
    ''' <summary>
    ''' 返回污染源数据，字符串
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Function OutBuStack() As String
        Dim StrBusta As String = ""
        StrBusta += "'" & Me.BrandName & "' " & Me.BrandBase & " " & Me.BrandHight & " " & Me.BrandX & " " & Me.BrandY & vbCrLf
        Return StrBusta
    End Function

    Public Function Clone() As Object Implements System.ICloneable.Clone
        Dim obj As New BuStack
        obj.m_BrandName = Me.m_BrandName  '污染源名称
        obj.m_BrandBase = Me.m_BrandBase  '污染源基底海拔高度
        obj.m_BrandHight = Me.m_BrandHight  '污染源的高度
        obj.m_BrandX = Me.m_BrandX  '污染源坐标X轴
        obj.m_BrandY = Me.m_BrandY '污染源坐标Y轴
        obj.m_Result = Me.m_Result '保存计算后的结果
        Return obj
    End Function
End Class
